package com.xinggq.pay.service.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 支付渠道枚举
 *
 * @author system
 * @since 2024-01-01
 */
@Getter
@AllArgsConstructor
public enum PayChannelEnum {

    /**
     * 银盛支付
     */
    YSE("yse", "银盛支付");

    /**
     * 渠道代码
     */
    private final String code;

    /**
     * 渠道名称
     */
    private final String name;

    /**
     * 根据代码获取枚举
     *
     * @param code 渠道代码
     * @return 支付渠道枚举
     */
    public static PayChannelEnum getByCode(String code) {
        if (code == null || code.trim().isEmpty()) {
            return null;
        }
        for (PayChannelEnum channelEnum : values()) {
            if (channelEnum.getCode().equals(code)) {
                return channelEnum;
            }
        }
        return null;
    }

    /**
     * 根据代码获取名称
     *
     * @param code 渠道代码
     * @return 渠道名称
     */
    public static String getNameByCode(String code) {
        PayChannelEnum channelEnum = getByCode(code);
        return channelEnum != null ? channelEnum.getName() : null;
    }

}